home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
tasc_jh
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
45KB
From: Jonathan T. Higa <higa@IFA.Hawaii.Edu>
Subject: v05i038: tasc_jh - tasc v2.50, Part01/01
Newsgroups: comp.sources.hp48
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 3411218987 (verify with brik -cv)
Submitted-by: Jonathan T. Higa <higa@IFA.Hawaii.Edu>
Posting-number: Volume 5, Issue 38
Archive-name: tasc_jh/part01
BEGIN_DOC tasc.rdm
At last, I got around to the automatic target filename creation.
I also put back the T(1) into the ASC headers--I'd forgotten that
T(0) mode is troublesome for PC users. (My HP is in T(3) mode.)
Please, if ANYBODY has trouble with tasc, let me know! My address
is normally jonhiga@phoenix.princeton.edu. For the summer, I'm at
higa@ifa.hawaii.edu. Hopefully, this should be the last set of
fixes necessary.
I don't have access to a MS-DOS system over the summer, so--Chris,
would you please test this with the line
tasc SampleFile nul
on an IBM after you've compiled it, where SampleFile is any HP-type file
you have handy? I'd like to know if this works, because some have told
me that this becomes a handy CRC check.
[ Yep, it works great. Thanks for this GREAT program! It makes my
life easier. I use tasc to generate asc for any program I receive
that doesn't have asc included. With this program, it almost makes
uuencoded binaries obsolete. -chris ]
This time, I've also included a uuencoded sun4-executable.
Jonathan Higa
END_DOC
BEGIN_SRC tasc.c
/* Tasc: HP48-binary <-> HP48-ASC.
Copyright 1992 by Jonathan T. Higa.
Distribute freely. */
#include <ctype.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ATOB 1
#define BTOA 2
#define calc_crc(crc, hex) (crc=(crc>>4)^(((crc^(hex))&0xF)*0x1081))
/* Recalculates the Cyclic Redundancy Check value based on the old CRC
value crc and a new nibble hex.
Note: crc should be an unsigned lvalue initialized to 0. */
#define lowbits(n) ((1uL << (n)) - 1uL)
/* Creates an unsigned long with only the low n bits set. */
typedef unsigned long ulong;
long nibs=0L; /* nibble size of last file processed */
ulong chksum=0uL; /* checksum of last file processed */
char rom='E'; /* rom revision letter for last file processed */
char ascsuff[]=".asc"; /* ASC file suffix (lowercase) */
ulong popbitq(ulong *buf, int *bsize, int nbits)
/* Returns the lowest nbits bits of *buf.
Removes those bits from *buf and adjusts *bsize appropriately. */
{
ulong b;
b = *buf & lowbits(nbits);
*buf >>= nbits;
*bsize -= nbits;
return b;
}
ulong pushbitq(ulong *buf, int *bsize, int nbits, ulong bits)
/* Pushes the low nbits of bits onto the high end of *buf.
Adjusts *bsize appropriately.
Returns the bits actually pushed. */
{
bits &= lowbits(nbits);
*buf |= bits << *bsize;
*bsize += nbits;
return bits;
}
int asctobin(FILE *fasc, FILE *fbin)
/* Translate ASC to HP48 binary.
Returns 0 if ok, 1 on error. */
{
ulong buf=0, crc=0;
int bsize=0, c, d;
/* scan input file to find line beginning with '"' */
c = '\n';
do {
d = c;
c = getc(fasc);
} while (c != EOF && (d != '\n' || c != '"'));
if (c == EOF) {
fputs("ASC->bin: Invalid ASC file\n", stderr);
return 1;
}
/* write header into binary file */
fputs("HPHP48-", fbin);
putc(rom, fbin);
/* translate data */
nibs = -4;
while (fscanf(fasc, "%1x", &d) == 1) {
pushbitq(&buf, &bsize, 4, d);
calc_crc(crc, d);
nibs++;
if (bsize >= 16 + CHAR_BIT)
fputc((int) popbitq(&buf, &bsize, CHAR_BIT), fbin);
}
/* check CRC */
if (bsize > 16)
fputc((int) popbitq(&buf, &bsize, bsize - 16), fbin);
chksum = popbitq(&buf, &bsize, 16);
if (crc || bsize) {
fputs("ASC->bin: CRC failed\n", stderr);
return 1;
}
return 0;
}
int bintoasc(FILE *fbin, FILE *fasc)
/* Translates HP48 binary to ASC format.
Return 0 if ok, 1 on error. */
{
ulong buf=0, crc=0, skip=0;
int bsize=0, c, width=0;
enum { NONE, SIZE, ASCIC, ASCIX, DIR } state=NONE;
const int MAXWIDTH=64;
char str[7];
/* check input for "HPHP48-" header */
if (fread(str, 1, 7, fbin) != 7
|| strncmp(str, "HPHP48-", 7)
|| (c = getc(fbin)) == EOF) {
fputs("bin->ASC: Invalid source file header\n", stderr);
return 1;
}
rom = c;
/* write header into ASC file */
fputs("%%HP: T(1);\n\"", fasc);
nibs = 0;
while ((c = getc(fbin)) != EOF) {
pushbitq(&buf, &bsize, CHAR_BIT, c);
/* parse input HP objects */
if (!skip)
switch (state) {
case NONE: if (bsize >= 20) {
ulong pro = buf & lowbits(20);
skip = 5;
if (pro == 0x29e8uL || pro == 0x2a0auL || pro == 0x2a2cuL
|| pro == 0x2a4euL || pro == 0x2b1euL || pro == 0x2b40uL
|| pro == 0x2b62uL || pro == 0x2b88uL || pro == 0x2dccuL)
state = SIZE;
else if (pro == 0x2e48uL || pro == 0x2e6duL || pro == 0x2afcuL)
state = ASCIC;
else if (pro == 0x2a96uL) state = DIR, skip = 8;
else if (pro == 0x2911uL) skip = 10;
else if (pro == 0x2933uL) skip = 21;
else if (pro == 0x2955uL) skip = 26;
else if (pro == 0x2977uL) skip = 37;
else if (pro == 0x299duL) skip = 47;
else if (pro == 0x29bfuL) skip = 7;
else if (pro == 0x2e92uL) skip = 11;
}
break;
case SIZE: if (bsize >= 20)
state = NONE, skip = buf & lowbits(20);
break;
case ASCIC: if (bsize >= 8)
state = NONE, skip = 2 + 2 * (buf & lowbits(8));
break;
case ASCIX: if (bsize >= 8)
state = NONE, skip = 4 + 2 * (buf & lowbits(8));
break;
case DIR: if (bsize >= 20)
state = ASCIX, skip = buf & lowbits(20);
break;
}
/* write already interpreted binary data */
while (skip && bsize >= 4) {
c = (int) popbitq(&buf, &bsize, 4);
if (width == MAXWIDTH) {
putc('\n', fasc);
width = 0;
}
fprintf(fasc, "%1.1X", c);
width++;
calc_crc(crc, c);
skip--;
nibs++;
}
}
/* append CRC */
chksum = crc;
bsize = 16;
while (bsize) {
if (width == MAXWIDTH) {
putc('\n', fasc);
width = 0;
}
fprintf(fasc, "%1.1X", (int) popbitq(&crc, &bsize, 4));
width++;
}
fputs("\"\n", fasc);
if (buf) {
fprintf(stderr, "bin->ASC: Binary parsed incorrectly\n");
return 1;
}
return 0;
}
int translate(const char *fsrc, const char *fdest, int mode)
/* Translate file named fsrc to file named fdest, using mode mode.
fsrc == NULL means use stdin; fdest == NULL means use stdout.
Return 0 if ok, 1 on error. */
{
FILE *in, *out;
int i;
switch (mode) {
case ATOB: if (fsrc) {
in = fopen(fsrc, "r");
if (!in) { perror(fsrc); return 1; }
} else
in = stdin;
if (fdest) {
out = fopen(fdest, "wb");
if (!out) { perror(fdest); return 1; }
} else abort();
i = asctobin(in, out);
break;
case BTOA: if (fsrc) {
in = fopen(fsrc, "rb");
if (!in) { perror(fsrc); return 1; }
} else abort();
if (fdest) {
out = fopen(fdest, "w");
if (!out) { perror(fdest); return 1; }
} else
out = stdout;
i = bintoasc(in, out);
break;
default: abort();
}
fclose(in);
fclose(out);
return i;
}
int main(int argc, char **argv, char **envp)
/* Uses:
tasc options files
options:
-d Force ASC->bin translation (decode ASC)
-e Force bin->ASC translation (encode ASC)
-i Use stdin for -a mode / stdout for -b mode:
ignored in auto-translation
-q Suppress printouts (quiet)
-r<let> Set rom revision <let>:
ignored in bin->ASC translation
files:
names of input/output files
return code: 0 ok, 1 error */
{
int e, mode=0, stdio=0, verb=1, argi;
char *p, *q;
/* interpret options as described above */
e = 0;
for (argi = 1; argv[argi] && argv[argi][0] == '-'; argi++)
for (p = argv[argi] + 1; *p; p++) {
switch (*p) {
case 'd': if (mode) e++; else mode = ATOB; break;
case 'e': if (mode) e++; else mode = BTOA; break;
case 'i': if (stdio) e++; else stdio = 1; break;
case 'q': if (verb) verb = 0; else e++; break;
case 'r': if (p[1]) {
p++;
if (!strchr("ABCDEF", rom = toupper(*p))) e++;
} else e++;
break;
default: e++;
}
}
if (e) {
fprintf(stderr, "Use: %s [-deiqr<let>] file [file]\n", argv[0]);
return 1;
}
if (verb) fputs("TASC version 2.50\n", stderr);
/* translate files by method specified */
switch (mode) {
case ATOB: if (stdio) {
if (argc - argi == 1) e = translate(0, argv[argi], ATOB);
else {
fputs("ASC->bin: Specify output filename\n", stderr);
return 1;
}
} else {
if (argc - argi == 2) e = translate(argv[argi], argv[argi+1], ATOB);
else {
fputs("ASC->bin: Specify input and output filenames\n", stderr);
return 1;
}
}
break;
case BTOA: if (stdio) {
if (argc - argi == 1) e = translate(argv[argi], 0, BTOA);
else {
fputs("bin->ASC: Specify input filename\n", stderr);
return 1;
}
} else {
if (argc - argi == 2) e = translate(argv[argi], argv[argi+1], BTOA);
else {
fputs("bin->ASC: Specify input and output filenames\n", stderr);
return 1;
}
}
break;
case 0: if (argc - argi == 1) {
int i, L;
L = strlen(argv[argi]);
q = malloc(L + sizeof ascsuff);
if (!q) { perror("malloc"); return 1; }
strcpy(q, argv[argi]);
p = q + L - (sizeof ascsuff - 1);
e = 1;
for (i = 0; e && p[i]; i++) /* case-ins. comparison of suffix */
e = tolower(p[i]) == ascsuff[i];
if (e) {
*p = 0;
e = translate(argv[argi], q, ATOB);
} else {
p = strrchr(q, ascsuff[0]);
if (p) strcpy(p, ascsuff); else strcat(q, ascsuff);
e = translate(argv[argi], q, BTOA);
}
free(q);
} else if (argc - argi == 2) {
int i, L;
L = strlen(argv[argi]);
p = argv[argi] + L - (sizeof ascsuff - 1);
e = 1;
for (i = 0; e && p[i]; i++)
e = tolower(p[i]) == ascsuff[i];
e = translate(argv[argi], argv[argi+1], e ? ATOB : BTOA);
} else {
fputs("tasc: Specify source [and target] filename[s]\n", stderr);
return 1;
}
break;
}
if (!e && verb)
fprintf(stderr, "ROM Revision: %c\nCRC: %lX hex\nSize: %ld%s bytes\n",
rom, chksum, nibs / 2, nibs & 1 ? " 1/2" : "");
return e;
}
END_SRC
BEGIN_DOC tasc.doc
TASC(1) USER COMMANDS TASC(1)
NAMES
tasc - translate HP48 binary files to and from ASC format
SYNOPSIS
tasc [-deiqr<let>] file [file]
DESCRIPTION
Translates HP48 binary files to and from ASC format.
If you specify a translation mode, you must specify both
source and target filenames.
If you do not specify a translation mode, then the type of
input is automatically determined from the source file's
name. If the source filename ends with .asc, then it is
assumed to be an ASC file; if not, it is assumed to be a
binary file. If you do not specify a target filename, then
it will be created by adding or removing the .asc suffix
from the source filename.
OPTIONS
-d Force ASC->bin (ASC decoding) mode.
-e Force bin->ASC (ASC encoding) mode.
-i Use stdin in ASC->bin / stdout in bin->ASC mode.
Ignored by auto-translation mode.
-q Quiet mode. Suppress the status reports.
-rlet
Generate files for ROM revision let. The default ROM
revision is E. Currently accepted values are a-f.
Ignored for bin->ASC translation.
DIAGNOSTICS
Returns 0 on success, 1 on error. On successful exit, a
status report giving HP48 ROM Revision and object checksum
and size is printed to the standard error, except in quiet
mode.
AUTHOR
Jonathan T. Higa (jonhiga@phoenix.princeton.edu)
CAVEATS
Version 2.50:
Requires the ASCII character set.
ACKNOWLEDGMENTS
The ASC format was designed by Bill Wickes
(billw@hpcvdw.cv.hp.com). The CRC algorithm used originally
comes from the following text:
da Cruz, Frank. Kermit: A File Transfer Protocol.
Sun Release 4.1 Last change: 1992 June 12 1
TASC(1) USER COMMANDS TASC(1)
Bedford, MA: Digital Press, 1987.
Background info on HP48 object structure was provided in the
HP48 Tools Manual; the object prologue data was extracted
from the document "HP48SX Internals," by Derek S. Nickel.
Thanks to Joe Horn for pointing out the appropriate files on
the EduCalc Goodies Disks.
Sun Release 4.1 Last change: 1992 June 12 2
END_DOC
BEGIN_DOC tasc.1
.TH TASC 1 "1992 June 12"
.SH NAMES
tasc \- translate HP48 binary files to and from ASC format
.SH SYNOPSIS
tasc [\-deiqr<let>] file [file]
.SH DESCRIPTION
Translates HP48 binary files to and from ASC format.
.sp
If you specify a translation mode, you must specify both source and
target filenames.
.br
If you do not specify a translation mode, then the type of input is
automatically determined from the source file's name.
If the source filename ends with .asc, then it is assumed to be an ASC
file; if not, it is assumed to be a binary file.
If you do not specify a target filename, then it will be created by
adding or removing the .asc suffix from the source filename.
.SH OPTIONS
.TP
.B \-d
Force ASC\->bin (ASC decoding) mode.
.TP
.B \-e
Force bin\->ASC (ASC encoding) mode.
.TP
.B \-i
Use stdin in ASC\->bin / stdout in bin\->ASC mode.
Ignored by auto-translation mode.
.TP
.B \-q
Quiet mode. Suppress the status reports.
.TP
.BI \-r let
Generate files for ROM revision
.I let.
The default ROM revision is E. Currently accepted values are a-f.
Ignored for bin->ASC translation.
.SH DIAGNOSTICS
Returns 0 on success, 1 on error. On successful exit, a status report
giving HP48 ROM Revision and object checksum and size is printed to the
standard error, except in quiet mode.
.SH AUTHOR
Jonathan T. Higa (jonhiga@phoenix.princeton.edu)
.SH CAVEATS
Version 2.50:
.br
Requires the ASCII character set.
.SH ACKNOWLEDGMENTS
The ASC format was designed by Bill Wickes (billw@hpcvdw.cv.hp.com).
The CRC algorithm used originally comes from the following text:
.RS
da Cruz, Frank.
.I Kermit: A File Transfer Protocol.
Bedford, MA: Digital Press, 1987.
.RE
Background info on HP48 object structure was provided in the HP48
Tools Manual; the object prologue data was extracted from the document
"HP48SX Internals," by Derek S. Nickel. Thanks to Joe Horn for pointing
out the appropriate files on the EduCalc Goodies Disks.
END_DOC
[ Compiled with Borland C 3.0. If there are any problems with this
executable, please let me know. -chris ]
BEGIN_UU tasc_dos.uue
begin 644 tasc.com
MC,HNB19E`[0PS2&++@(`BQXL`([:HTDUC`9'-8D>0S6)+E\UZ%H!Q#Y!-8O'
MB]BY_W_\\J[C84,F.`5U]H#-@/?9B0Y!-;D!`-/C@\,(@^/XB1Y%-8S:*^J+
M/M0Z@?\``G,'OP`"B3[4.H''4CYR*`,^[#ER(K$$T^]'.^]R&8,^U#H`=`>#
M/NPY`'4.OP`0.^]W!XO]ZP/IM0&+WP/:B1Y7-8D>6S6A1S4KV([`M$I7S2%?
MT^?ZCM*+Y_LSP"Z.!F4#OP`^N5(^*\_\\ZJ#/KXY%'9'@#Y)-0-R0'<'@#Y*
M-1YR-[@!6+L"`,TA<BJT9XL>OCG-(7(@M$B[`0#-(7(70*-?-4B.P+1)S2%R
M"K@!6+L``,TA<P/I-`&T`,T:B19--8D.3S4*P'0,N$``CL"[<``FQ@<!,^TN
MC@9E`[[N/;\`/NBI`/\V/S7_-CTU_S8[->BX"%#HJ0TNC@9E`U97O@`^OP`^
MZ(8`7U[#PXOLM$R*1@+-(;D.`+K_-.G5`!ZX`#7-(8D>*S6,!BTUN`0US2&)
M'B\UC`8Q-;@%-<TAB1XS-8P&-36X!C7-(8D>-S6,!CDUN``EC,J.VKIX`LTA
M'\,>N``EQ18K-<TA'QZX!"7%%B\US2$?'K@%)<46,S7-(1\>N`8EQ18W-<TA
M'\.!_NX]=`0RY.L"M/^+UXO>.]]T(R:`/_]T&('^[CUT!B8Z9P'K!"8X9P%W
M!B:*9P&+TX/#!NO9.]=T&XO:)H`_`";&!_\&=`<F_U\"!^NQ)O]7`@?KJL.T
M0+L"`,TAP[D>`+H--2Z.'F4#Z.K_N`,`4.BN#`````!5B^R#[`165XMV!(M^
M!C/2N`$`BDX(Z&L-+0$`@]H`BUP"BPPCR"/:B5[^B4[\BU0"BP2*3@CH;`V)
M5`*)!(M&""D%BU;^BT;\ZP!?7HOE7<-5B^Q6BW8&,]*X`0"*3@CH(0TM`0"#
MV@`A1@HA5@R*#(M6#(M&"N@*#8M>!`D'"5<"BT8(`02+5@R+1@KK`%Y=PU6+
M[(/L#E97BWX&QT;^``#'1OP``,=&^@``QT;X``#'1O8``,=&]`H`BT;TB4;R
MBUX$_P]\#XM>!(MW"O]'"HH$M`#K!_]V!.A=)EF)1O2#?O3_=`R#?O(*=<Z#
M?O0B=<B#?O3_=1.XGCA0N'`U4.@Z(UE9N`$`Z2<!5[B,-5#H*B-96?\%?0^+
M70K_10J@:C6(![0`ZPI7H&HU4.CG*%E9QP9D-?__QP9B-?S_Z8``BT;RF5)0
MN`0`4(U&]E"-1OQ0Z/K^@\0*BU;ZBT;XL03H0`Q0BT;R4IF+7OI04E.+7OA8
M6EDSV3/"@^,/)0``,])34+B!$%E;Z-0-6UDSR#/:B5[ZB4[X@P9B-0%F0U
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
MJO]&_/]V"+C__U#_5@9968-^_`OP`!XM&_.F&`/]&^O]V"/]6!%D+P'X3
M"L!X"9.`OU0Z`9-TY5F#P0/_X73X6>N_*]*Y!`#_3O9\15)1_T;Z_W8(_U8$
M65E:"\!^-?[)?#&*Z(#M,'(J@/T*<A>`[1%R((#]!G(*@.T@<A:`_09S$8#%
M"M'BT>+1XM'B`M7KMBO`@/D$=`99@\$#_^%9Z5__7UZ+Y5W#Y!;D%N06SA/5
M$]L3K14?%!\4*13M%.\3^Q/U$QH4417K%0T4)!1_%`$4!Q13@.LP<B*`^PEV
M$H#[*G<%@.L'ZP.`ZR>`^PEV"SK9<P=$1/BW`.L"6_G#58OL@^P&5E?&1O\`
MQT;\``#'1OH!`/]&_/]V"/]6!%D+P'QHF)/VPX!U"+]W-_8!`77CD_].#'Q:
M/"MT!SPM=1;^1O__3@Q\2O]&_/]V"/]6!%D+P'PU*_:+_HM."N--@_DD=RZ`
M^0)R*3PP=6N`^1!U9/].#'PR_T;\_W8(_U8$63QX=%$\6'1-ZW/'1OK__^L%
MQT;Z``#_=@A0_U8&65G_3OPKP)GIIP#IE``\,,=&"@H`=2/_3@Q\[_]&_/]V
M"/]6!%G'1@H(`#QX=`0\6'4MQT8*$`#K%XM."I/H]?Z3<K"6ZPJ6]V8*`_`3
M^G4L_TX,?$S_1OS_=@C_5@19BTX*D^C/_I-SW>LJEO?AEX?*]^(#]Q/!EQ+6
M=4?_3@Q\(/]&_/]V"/]6!%F+3@J3Z*/^DW/6_W8(4/]6!EE9_T[\B]>6@'[_
M`'0']]KWV(/:`(M^#HM>_`$=BWX0BU[ZB1WK%KC__[K_?P)&_X#4`(/2`,=&
M^@(`Z]A?7HOE7<.Z!0`[%KXY<RN+VM'CQX?`.0``B]JQ!-/CQH>"./^+PM/@
M!7XXB]K3XXF'C#A".Q:^.7+5H((XF%#H\?=9"\!U!H$F@#C__;@``E#W!H`X
M``)T!;@!`.L",\!0,\!0N'XX4.AU%X/$"*"2.)A0Z+WW60O`=0:!)I`X__VX
M``)0]P:0.``"=`6X`@#K`C/`4#/`4+B..%#H01>#Q`C#58OLN`$`4#/`4%#_
M=@3H*OB#Q`A=PU6+[(M6!(/Z_W4%N/__ZQJ*PK0`B]CVAW<W!'0)BL*T``4@
M`.L$BL*T`%W#58OLBU8$@_K_=06X___K&HK"M`"+V/:'=S<(=`F*PK0`!>#_
MZP2*PK0`7<-5B^RT08M6!,TA<@0SP.L$4.C#]EW#BL;H`@"*PM00AN#H`@"&
MX`20)Q1`)ZK#58OL@>R6`%97QT;N``#'1NQ0`,=&Z@``ZT97N?__,L#RKO?1
M25_#-H@%1_Y.['4O4U%2!HV&:O\K^(V&:O]05_]V"/]6"@O`=07'1NH!`,=&
M[%```7[NC;YJ_P=:65O#!OR-OFK_B7[\BW[\BW8&K`K`=!(\)701-H@%1_Y.
M['_NZ*S_Z^GIU0.)=O"L/"5TYXE^_#/)B4[RB4[^B$[UQT;X___'1O;__^L!
MK#+DB]"+V(#K((#[8',3BI_=.H/[%W8#Z8@#T>,N_Z<$'^E^`X#]`'?X@T[^
M`>O0@/T`=^V#3OX"Z\6`_0!WXH!^]2MT`XA6]>NU@V;^W^L$@T[^(+4%ZZ>`
M_0!W3?=&_@(`=2F#3OX(M0'KD^DS`XM^!#:+!8-&!`*`_0)S$@O`>0;WV(-.
M_@*)1OBU`^EO_X#]!'77B4;V_L7I8O^`_01SRK4$_T;VZ57_DBPPF(#]`G<9
MM0*'1O@+P'S1T>"+T-'@T>`#P@%&^.DS_X#]!'6;AT;V"\!TM='@B]#1X-'@
M`\(!1O;I%_^#3OX0Z67_@4[^`` O[OZ5G_MPCK"K<*ZPJW$+/I`MK&1O4`
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
M`D``=&?P8`=%N+1P8[1@9S4X,_`'5._TX&,__K#(M>!`-_!HM'!BE&!HM>
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
M72!F:6QE(%MF:6QE70H`5$%30R!V97)S:6]N(#(N-3`*`$%30RT^8FEN.B!3
M<&5C:69Y(&]U='!U="!F:6QE;F%M90H`05-#+3YB:6XZ(%-P96-I9GD@:6YP
M=70@86YD(&]U='!U="!F:6QE;F%M97,*`&)I;BT^05-#.B!3<&5C:69Y(&EN
M<'5T(&9I;&5N86UE"@!B:6XM/D%30SH@4W!E8VEF>2!I;G!U="!A;F0@;W5T
M<'5T(&9I;&5N86UE<PH`;6%L;&]C`'1A<V,Z(%-P96-I9GD@<V]U<F-E(%MA
M;F0@=&%R9V5T72!F:6QE;F%M95MS70H`4D]-(%)E=FES:6]N.B`E8PI#4D,Z
M("5L6"!H97@*4VEZ93H@)6QD)7,@8GET97,*`"`Q+S(````````@("`@("`@
M("`A(2$A(2`@("`@("`@("`@("`@("`@(`%`0$!`0$!`0$!`0$!`0$`"`@("
M`@("`@("0$!`0$!`0!04%!04%`0$!`0$!`0$!`0$!`0$!`0$!`0$0$!`0$!`
M&!@8&!@8"`@("`@("`@("`@("`@("`@("`A`0$!`(```````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````+8/M@^V#P``"0(`````````````
M?C@```H"`0```````````(XX```"`@(```````````">.```0P(#````````
M````KC@``$("!````````````+XX````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````%``!8`)@`F`$
MH`*@`````````````````````````````````````````$#__P``````$P("
M!`4&"`@(%!4%$_\6!1$"_________________P4%____________________
M_P__(P+_#_____\3__\"`@4/`O___Q/__________R/_____(_\3_P!435``
M+B0D)`````("`@("`@("`0$!`0$"`@("`@("`@("`@("`@("`@(!`@("`@,"
M`@("!`("`@("!04%!04%!04%!0("`@("`@("`@('"A4*#`D"`@L"%`X"`@("
M`@@"`A("`A`"$`("`@("!@<*"@H,"0("#0(1#A,"`@\""`("$@("`@("`@(`
M$"AN=6QL*0``%!0!%!44%!04`@`4`P04"04%!04%!04%!104%!04%!04%!04
M#Q</"!04%`<4%A04%!04%!04%`T4%!04%!04%!04$`H/#P\("A04!A02"PX4
M%!$4#!04#104%!04%!0`<')I;G0@<V-A;F8@.B!F;&]A=&EN9R!P;VEN="!F
M;W)M871S(&YO="!L:6YK960-"@``````````````````````````````TCO:
M._([##P;/"\\03Q1/&8\>#R5/*D\N#S,/```V3SH/`X]'CTL/3T]3CU@/0``
M````````````````````````<CV`/9$]N#TE`$5R<F]R(#``26YV86QI9"!F
M=6YC=&EO;B!N=6UB97(`3F\@<W5C:"!F:6QE(&]R(&1I<F5C=&]R>0!0871H
M(&YO="!F;W5N9`!4;V\@;6%N>2!O<&5N(&9I;&5S`%!E<FUI<W-I;VX@9&5N
M:65D`$)A9"!F:6QE(&YU;6)E<@!-96UO<GD@87)E;F$@=')A<VAE9`!.;W0@
M96YO=6=H(&UE;6]R>0!);G9A;&ED(&UE;6]R>2!B;&]C:R!A9&1R97-S`$EN
M=F%L:60@96YV:7)O;FUE;G0`26YV86QI9"!F;W)M870`26YV86QI9"!A8V-E
M<W,@8V]D90!);G9A;&ED(&1A=&$`3F\@<W5C:"!D979I8V4`071T96UP=&5D
M('1O(')E;6]V92!C=7)R96YT(&1I<F5C=&]R>0!.;W0@<V%M92!D979I8V4`
M3F\@;6]R92!F:6QE<P!);G9A;&ED(&%R9W5M96YT`$%R9R!L:7-T('1O;R!B
M:6<`17AE8R!F;W)M870@97)R;W(`0W)O<W,M9&5V:6-E(&QI;FL`36%T:"!A
M<F=U;65N=`!297-U;'0@=&]O(&QA<F=E`$9I;&4@86QR96%D>2!E>&ES='-&
M:6QE(&%L<F5A9'D@97AI<W1S`%!O<W-I8FQE(&1E861L;V-K`%5N:VYO=VX@
L97)R;W(`)7,Z("5S"@`-``````#('\T?S1_-'P`"31D````0ER(````0J",0
`
end
sum -r/size 9374/21539 section (from "begin" to "end")
sum -r/size 48302/15614 entire input file
END_UU
[ Well, since this was for a sun I went ahead and compressed it
to save space. There was a LOT of wasted space in the
uncompressed uuencoded program. If you don't have uncompress
on your sun, you can pick it up from the archives. -chris ]
BEGIN_UU tasc_sun4.uue
begin 755 tasc_sun4.Z
M'YV0@08$6````(B"!A$J5`CBX,*"O"`<A#8`%!!)%8E44@%"`"4!H`A\!*+@
M0D$(U$2$@S2@(`)A`,0@``0)0``!@``0"(`02$$%/`OZ1+"S)X`!R3B-``5B
MJ$"C1(,"Z#3N%YH7+EU5$(<B@DM($D0P\`E@B22)`%A!`(``(R@N9)=0D@@"
MD*B&$G(^D2IL`B@O@$"%69"WK%1T%<$(JTA&7$4TI`K8E$0`4`2L;+6*0P()
M[5P0!2XXM"0!G`!,:RV0I:$)K:FU""`)`$!!&N//!T07)`U.`FH`J@NN:$T;
M,P+-=+RR!2MB`]D19P^J@KT8%!J:-G$"6&!<,V<"P"2<!1`!MVX`O'VOK4#V
M0NN#U>&$!!;`W%(^ZI8"8K>44$NV,,DDS%*(_`<!3&%`,B`HC/R'@"`0@$'&
M@I!T!D(`GQ!34'1\!'(,.`@$@LY).1D`(6@0Y$3`B4>D"(``)PX0"30'*:"B
M5($,`Z)4%@H@20'@$$!-`<``<"(!,QYDX1\G!I"D42_4,8<<+["1AAA5DN'"
M'&\`\`(99=CQ@AYER-'E0QF,(0<=,.@`@AMO@!#EE%5>F>66;RCP$``FJ,FF
MFW-2:266;&C))0AMA`$''&FX<08(9H21!AMUR%&&G@M1X&>;;\;Y99ACEIGG
M0E3]4N%:&,`B40"QN`"`!K`8\,,_TLP&0"4R`*%!2@5!8X!/D(CP*C0F^`2+
M`P`DX"&((A94ZJD71J+"J[+-:HL#P"#@JT^1N)"M-`84!%:RQ/;Z*P"T&``(
M`O04"X"J`&RP;(@C`A#$%$.TX(,8C;J9A!MVA&$E&2#<.P2DDUX*`!)0,$P#
M#BT`4$(,>-B+K[[\NN'F$%(<'&G"9&`Z555XD((J*&ME`,P)OY"#"EHK_\)-
M=`JXF(`H!(0$S0&_L&,7"`H45H!4=H$A@G842"4-R^Q`4QD`U?X##0DY88>`
MN@`<()73/DDBP(72D."3BP1`@ZE/!]C0&0#BP6;7'_](\,L_Z1`M"MR%:8W0
M!"=)(D$8J"B'@(MY@#4"`H(;+G;6*8P'@=/B"C#KU`59C350"$%"``@$U%K0
M1V`$P.M1)V!B@8*."3S#D]`$T5("0HB)U:8?!U@2(>Q`"TFS.@%W)6I"3
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
"/NJ2
`
end
END_UU